﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WC.DL.DALC.Factory;
using WC.BL.BE;

namespace WC.BL.BCC
{
    public class MensajeBC
    {
        public static string update(MensajeBE objMensaje)
        {
            string retval = string.Empty;
            try
            {
                retval = DAOFactory.MensajeDALC.update(objMensaje);
            }
            catch (Exception ex)
            {
                retval = ex.Message;
            }
            return retval;
        }

        public static string write(MensajeBE objMensaje)
        {
            string retval = string.Empty;
            try
            {
                retval = DAOFactory.MensajeDALC.write(objMensaje);
            }
            catch (Exception ex)
            {
                retval = ex.Message;
            }
            return retval;
        }

        public static List<GenericBE> read()
        {
            List<GenericBE> retval = null;
            try
            {
                retval = DAOFactory.MensajeDALC.read();
            }
            catch (Exception ex)
            {
                retval = null;
            }
            return retval;
        }

        public static List<MensajeBE> read(MensajeBE objMensaje)
        {
            List<MensajeBE> retval = null;
            try
            {
                retval = DAOFactory.MensajeDALC.read(objMensaje);
            }
            catch (Exception ex)
            {
                retval = null;
            }
            return retval;
        }

        public static MensajeBE read(int id)
        {
            MensajeBE retval = null;
            try
            {
                retval = DAOFactory.MensajeDALC.read(id);
            }
            catch (Exception ex)
            {
                retval = null;
            }
            return retval;
        }

        public static string asignarMensaje(List<GenericBE> pUsuarios, int pMensaje_Id)
        {

            {
                string retval = null;
                try
                {
                    retval = DAOFactory.MensajeDALC.asignarMensaje(pUsuarios, pMensaje_Id);
                }
                catch (Exception ex)
                {
                    retval = null;
                }
                return retval;
            }
        }

        private static string convierteAURLDesc(string pCadena)
        {

            /* <a target="_blank"
             * href="img/archivos/antiguo.txt" >Link text</a>*/
            string part1 = " <a target=" + (char)34 + "_blank" + (char)34 + 
                           " href=" + (char)34 + ParametroBC.Instance.getParamValue("RutaArchivos");

            pCadena = pCadena.Replace("<|img=",part1);
            pCadena = pCadena.Replace("||titulo=", (char)34 + " >" );
            pCadena = pCadena.Replace("|>", "</a>");
            return pCadena;
        }
        public static string muestrMensajesXusuario(string pUsua)
        { 
           string html = string.Empty;
            string cuerpo = string.Empty;
            List<MensajeBE> lstm = DAOFactory.MensajeDALC.muestrMensajesXusuario(pUsua);
            if (lstm != null)
            {
                if (lstm.Count > 0)
                {
                    // genero la pagia popup
                    html = "<!DOCTYPE html PUBLIC" + (char)34 + "-//W3C//DTD XHTML 1.0 Transitional//EN" + (char)34 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" + (char)34 + ">" +
                           "<html xmlns=" + (char)34 + "http://www.w3.org/1999/xhtml" + (char)34 + ">"+
            "<head> "+
                "<link href=" + (char)34 + "css/main.css" + (char)34 + "type=" + (char)34 + "text/css" + (char)34 + " rel=" + (char)34 + "Stylesheet" + (char)34 + " />"+
                "<title>Untitled Page</title>"+
            "</head>"+
            "<body background=" + (char)34 + "img/fondo.jpg" + (char)34 + ">"+
                    "<div>"+
                        "<asp:ScriptManager ID=" + (char)34 + "ScriptManager1" + (char)34 + " runat=" + (char)34 + "server" + (char)34 + " />" +
                        "<div id=" + (char)34 + "header" + (char)34 + ">" +
	                        "<div id=" + (char)34 + "cuerpo" + (char)34 + ">"+
		                        "<div style=" + (char)34 + "float:left; width: 273px;margin-left:8px" + (char)34 + ">"+
			                        "<div id=" + (char)34 + "logo" + (char)34 + "><img src=" + (char)34 + "img/logo2.jpg" + (char)34 + " alt=" + (char)34 + "Maestro Per&uacute;" + (char)34 + " /></div>"+
		                        "</div>"+
	                        "</div>"+
                        "</div>"+
            
            "<br clear="+ (char)34 +"all"+ (char)34 +"/>"+
            "<br clear="+ (char)34 +"all"+ (char)34 +"/>"+
            "<br clear="+ (char)34 +"all"+ (char)34 +"/>"+
            "<br clear="+ (char)34 +"all"+ (char)34 +"/>"+
            
            "<div id="+ (char)34 +"cuerpo"+ (char)34 +" >"+
	            "<br clear="+ (char)34 +"all"+ (char)34 +"/>"+
                    "<table style=" + (char)34 + "width: 273px" + (char)34 + ">";
                    foreach (MensajeBE m in lstm)
                    {
                        cuerpo += "<tr> <td> <b>" + m.Titulo + "</b> " +
                                            " <br /> " +
                                     " </td> " +
                                 "</tr> " +
                                 " <tr> " +
                                        "<td>" +
                                                 convierteAURLDesc(m.Mensaje.ToString()) + //m.Mensaje +                                                
                                        "</td>" +
                                 " </tr>" +
                                 " <tr> " +
                                        "<td>" +
                                            "<hr style="+ (char)34 + "width: 590px" + (char)34 + " />" + 
                                        "</td>" +
                                 " </tr>" ;                       
                    }
                    html = html + cuerpo + "</div><br clear="+ (char)34 + "all"+ (char)34 + " /><br clear="+ (char)34 + "all"+ (char)34 + 
                                            " /><br clear="+ (char)34 + "all"+ (char)34 + " /><br clear="+ (char)34 + "all"+ (char)34 +
                                            " /><br clear="+ (char)34 + "all"+ (char)34 + " /></div></body></html>";
                }
            }

            return html;
        }

        public static List<GenericBE> muestrMensajesXUsuario(string pUsua)
        { 
           string html = string.Empty;
            string cuerpo = string.Empty;
            List<MensajeBE> lstm = DAOFactory.MensajeDALC.muestrMensajesXusuario(pUsua);
            List<GenericBE> lstpopup = new List<GenericBE>();

            if (lstm != null)
            {
                if (lstm.Count > 0)
                {
                    // genero la pagia popup
                    foreach (MensajeBE m in lstm)
                    {
                        GenericBE g = new GenericBE();
                        g.Descripcion = convierteAURLDesc(m.Mensaje.ToString());
                        lstpopup.Add(g);  //m.Mensaje +     
                        g = new GenericBE();
                        g.Descripcion = "";
                        lstpopup.Add(g);  //m.  
                        g = new GenericBE();
                        g.Descripcion = "<hr />";
                        lstpopup.Add(g);  //m.Mensaje +    
                        g = new GenericBE();
                        g.Descripcion = "";
                        
                    }
                }
            }

            return lstpopup;
        }
    }
}
